//package com.lhb.boyixue.user.config;
//
//import com.lhb.boyixue.user.model.Question;
//import org.apache.pdfbox.pdmodel.PDDocument;
//import org.apache.pdfbox.text.PDFTextStripper;
//
//import java.io.File;
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.List;
//import java.util.regex.Matcher;
//import java.util.regex.Pattern;
//
///**
// * @author 86131
// * @version 1.0
// * @description
// * @date 2025/5/26 下午1:16
// */
//public class QuestionExtractor {
//
//    public static List<Question> extractQuestionsFromPdf(String pdfPath) throws IOException {
//        System.out.println("正在处理PDF: " + pdfPath);
//
//        // 打开PDF文件
//        try (PDDocument document = PDDocument.load(new File(pdfPath))) {
//            // 创建PDF文本提取器
//            PDFTextStripper stripper = new PDFTextStripper();
//            // 提取全部文本
//            String text = stripper.getText(document);
//
//            // 解析问题
//            return parseQuestions(text);
//        }
//    }
//
//    private static List<Question> parseQuestions(String text) {
//        List<Question> questions = new ArrayList<>();
//
//        // 正则表达式模式 - 根据实际PDF格式调整
//        // 这里假设格式为: 1. 问题文本 A. 选项A B. 选项B C. 选项C D. 选项D 答案: X 解析: 解析内容
//        String pattern = "(\\d+)[\\.\u3001]([^\\n]+)\\n(?:(?:A[\\.\u3001]([^\\n]+)\\n)?(?:B[\\.\u3001]([^\\n]+)\\n)?"
//                + "(?:C[\\.\u3001]([^\\n]+)\\n)?(?:D[\\.\u3001]([^\\n]+)\\n)?)?(?:答案[：:]\\s*([^\\n]+))?(?:\\n解析[：:]\\s*([^\\n]+))?";
//
//        Pattern r = Pattern.compile(pattern, Pattern.MULTILINE);
//        Matcher m = r.matcher(text);
//
//        int count = 0;
//        while (m.find()) {
//            Question question = new Question();
//            question.setQuestionId(m.group(1));
//            question.setQuestionText(m.group(2) != null ? m.group(2).trim() : "");
//            question.setOptionA(m.group(3) != null ? m.group(3).trim() : "");
//            question.setOptionB(m.group(4) != null ? m.group(4).trim() : "");
//            question.setOptionC(m.group(5) != null ? m.group(5).trim() : "");
//            question.setOptionD(m.group(6) != null ? m.group(6).trim() : "");
//            question.setCorrectAnswer(m.group(7) != null ? m.group(7).trim() : "");
//            question.setExplanation(m.group(8) != null ? m.group(8).trim() : "");
//
//            // 设置默认分类和难度
//            question.setCategory("软件设计师");
//            question.setDifficulty("中级");
//
//            questions.add(question);
//            count++;
//        }
//
//        System.out.println("提取了 " + count + " 道题目");
//        return questions;
//    }
//}
